class DataCache {
  // 存储
  setCache(key: string, value: any, isLocal = true) {
    // 1.判断是否为本地储存
    if (isLocal === false) {
      // 2.1.把账号信息存储在sessionStorage中
      window.sessionStorage.setItem(key, JSON.stringify(value))
    } else {
      // 2.2.把账号信息存储在localStorage中
      window.localStorage.setItem(key, JSON.stringify(value))
    }
  }

  // 查询
  getCache(key: string, isLocal = true) {
    // 1.判断是否为本地储存
    if (isLocal === false) {
      const value = window.sessionStorage.getItem(key)
      // 2.1.判断储存中是否有该数据
      if (value) {
        return JSON.parse(value)
      }
    } else {
      const value = window.localStorage.getItem(key)
      // 2.2判断储存中是否有该数据
      if (value) {
        return JSON.parse(value)
      }
    }
  }

  // 删除
  deleteCache(key: string, isLocal = true) {
    // 1.判断是否为本地储存
    if (isLocal === false) {
      window.sessionStorage.removeItem(key)
    } else {
      window.localStorage.removeItem(key)
    }
  }

  // 清空缓存
  clearCache(key: string, isLocal = true) {
    // 1.判断是否为本地储存
    if (isLocal === false) {
      window.sessionStorage.clear()
    } else {
      window.localStorage.clear()
    }
  }
}

export default new DataCache()
